<?php

namespace app\admin\model\facrm;

use think\Model;
use traits\model\SoftDelete;

/**
 * 合同模型
 * Class Contract
 * @package app\admin\model\facrm
 */
class Invoice extends Model
{
    use SoftDelete;

    // 表名
    protected $name = 'facrm_invoice';
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';
    // 定义时间戳字段名
    protected $createTime = 'create_time';
    protected $updateTime = 'update_time';
    protected $deleteTime = 'delete_time';

    /**
     * 创建者
     */
    public function createUser()
    {
        return $this->hasOne('\app\admin\model\Admin', 'id', 'create_admin_id');
    }
    /**
     * 开票者
     */
    public function createInvoice()
    {
        return $this->hasOne('\app\admin\model\Admin', 'id', 'invoice_admin_id');
    }
	/**
     * 客户对象
     * @return \think\model\relation\BelongsTo
     */
    public function customer(){
        return $this->belongsTo('\app\admin\model\facrm\Customer', 'customer_id', 'id');
    }
	/**
     * 合同对象
     * @return \think\model\relation\BelongsTo
     */
    public function contract(){
        return $this->belongsTo('\app\admin\model\facrm\Contract', 'contract_id', 'id');
    }
	

  
    /**
     * 审批日志
     * @return \think\model\relation\HasMany
     */
    public function flowLog(){
        return $this->hasMany('\app\admin\model\facrm\flow\Log','types_id','id')->where('types','invoice');
    }
	/**
     * 审批状态
     * @return array
     */
    public function getCheckStatusList()
    {
        return ['0' => __('待审核'), '1' => __('审核中'),2=>__('审核通过'),3=>__('审核未通过'),4=>'仓库驳回'];
    }
	/**
     * 开票状态
     * @return array
     */
    public function getStatusList()
    {
        return ['0' => __('未开票'), '1' => __('开票中'),2=>__('已开票'),3=>__('开票失败')];
    }

    /**
     * 抬头类型
     * @return array
     */
    public function getInvoiceIssueList(){
        return ['1'=>__('企业'), '2'=>__('个人'), '3'=>__('事业单位')];
    }


  


}